/*
 * Steps.h
 *
 *  Created on: Dec 9, 2011
 *      Author: qzhang
 */

#ifndef STEPS_H_
#define STEPS_H_

#include <vector>
#include "vector2f.h"
#include "collisionStrategy.h"
#include "doodleSprite.h"

using std::vector;

class Gamedata;
class Sprite;
class Steps {
public:
	Steps(DoodleSprite*);
	virtual ~Steps();

	void manageCollisions(const int& ticks);

	void update(const int&);
	void draw() const;

private:
	Steps(const Steps&);
	Steps& operator=(const Steps&);
	vector<Sprite*>* makeSteps(const float y1, const float y2);
    Sprite* makeSpring(const Vector2f & p, const float& stepWidth, const float& springWidth, const float& springHeight);
	Gamedata* gameData;

	DoodleSprite* doodle;
	vector<Sprite*>* screen1;
	vector<Sprite*>* screen2;

	Vector2f screen1Coord;
	Vector2f screen2Coord;

	CollisionStrategy* collisionStrategy;
	int screenNum;
};

#endif /* STEPS_H_ */
